package com.ktjiaoyu.server.pojo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**公共类，用于封装后端响应给前端的数据(包括状态码、msg消息、响应数据)
 * @Author JieGe
 * @Create 2022/1/16 - 9:12
 * @Description 公共返回对象
 */
@Data
@AllArgsConstructor  // 全参构造
@NoArgsConstructor // 无参构造
public class RespBean {
    private long code;  // 状态码 如：200、401、403、405、500
    private String message;  //提示信息
    private Object data;  // 返回数据(后端返回给前端的数据)

    /**
     * 成功返回结果
     * @param message
     * @return
     */
    public static RespBean success(String message) {
        return new RespBean(200, message, null);
    }

    /**
     * 成功返回结果
     * @param message 提示信息
     * @param obj 返回给前端的数据
     * @return
     */
    public static RespBean success(String message, Object obj) {
        return new RespBean(200, message, obj);
    }

    /**
     * 失败返回结果
     * @param message 提示信息
     */
    public static RespBean error(String message) {
        return new RespBean(500, message, null);
    }

    /**
     * 失败返回结果
     * @param message 提示信息
     * @param obj返回给前端的数据
     * @return
     */
    public static RespBean error(String message, Object obj) {
        return new RespBean(500, message, obj);
    }
}
